The present disclosure generally relates to communication devices, and more particularly to a firewall implemented on a communication processor of a multiprocessor communication device to control power consumption in communication devices.
In a traditional communication network, such as a mobile communication network, data channel or connection requests would generally be initiated by the client device or handset, also referred to herein as a mobile terminal or device. The active use of a data connection by the device generally consumes power which, in a battery operated mobile device, is an operational factor and concern. Network traffic over the Internet to a mobile device generally involves the processing of the packets that comprise an Internet protocol (“IP”) stack, also referred to as a “network” protocol stack.
In a multi-processor system or device, certain communication related operations, such as monitoring control indicators for incoming calls, can be handled by a processing unit or device that is commonly referred to as a baseband or communication processor. Complex operations, such as those required for implementing certain functions and application of a device such as a smart phone, can be handled by general purpose microprocessors, generally referred to as application processors. The application processor can be used to implement functions such as, but not limited to, media playback functions, email display functions, word processing and web browsing functions. The information processing of the IP packets is typically executed in the application processor of the multi-processor device.
IP packets are received on the communication processor side of the mobile device. The packets are forwarded from the communication processor to the application processor for processing and, in some cases, depending on the particular communication protocol of the packet, a response or acknowledgment must be sent back to the network from the application processor via the communication processor. For example, when a packet arrives from the network, such as an incoming mail notification, the communication processor will wake the application processor to process the incoming packet. In the case of unwanted data packets, the response from the application processor can be simply a termination of the IP connection or another action not necessarily needing the attention from the application processor. The processing of the unwanted data by the application processor consumes a significant amount of power, which is a concern with these battery operated mobile devices.
In the past, to conserve battery life of the device, when the data connection was not needed or not active, the connection would be shut down. This minimized the need for the application processor to receive and process unwanted data packets. While turning off the data connection will reduce the processing and associated energy consumption, merely turning off the IP connection is becoming a less desirable option, because by turning off the IP or data connection, many programs will not function properly. For example, with advanced communication services such as push email, a persistent or always active data connection between the device and the Internet is required. The mobile device must be able to persistently receive packets of data from those services in order to notify the mobile device of the existence of new electronic mail messages. The need for push network traffic means that some mobile terminals, most typically smart phones, must continually monitor and receive data traffic related to certain communication related operations, which requires an open data connection. Since the connection is always open by default, numerous amounts of traffic can be received and processed by the mobile device, including unwanted or undesirable traffic.
In the active mode, application processors typically require more power to operate than communication processors. However, when the user of the device is not actively using the device, the application processor is generally not needed. Thus, the application processor can be shut down or placed in a sleep or idle mode to conserve power. In the event that incoming push data is received, the application processor can be powered up to receive and process the incoming data. This type of traffic is typically processed through a firewall in the application processor of the device. In the case of unwanted data, this can require unnecessary operation of the application processor and undesirable power consumption, even without the user's knowledge or benefit.
It would be advantageous to minimize device battery consumption in a communication device even when the data connection is persistently active or enabled. It would also be advantageous to minimize use of the application processor in a multi-processor device for providing push network services.
Accordingly, it would be desirable to provide a system that addresses at least some of the problems identified.